using System;

namespace RBAC.Read.Api.Application.Dto.ERP
{
    /// <summary>
    /// 采购到货单与物料联查行（以物料明细为行）
    /// </summary>
    public class ArrivalNoteWithMaterialDto
    {
        // 主表（到货单）
        public long ArrivalOrderId { get; set; }
        /// <summary>
        /// 到货单单据编码
        /// </summary>
        public string DocCode { get; set; }
        /// <summary>
        /// 来源采购单号
        /// </summary>
        public string PurchaseOrderNo { get; set; }
        /// <summary>
        /// 单据状态
        /// </summary>
        public string DocStatus { get; set; }
        /// <summary>
        /// 单据日期
        /// </summary>
        public DateTime DocDate { get; set; }
        /// <summary>
        /// 供应商名称
        /// </summary>
        public string SupplierName { get; set; }

        // 明细（到货物料）
        public int ArrivalMaterialId { get; set; }
        /// <summary>
        /// 跟单编号
        /// </summary>
        public string? DocumentaryNumber { get; set; }
        /// <summary>
        /// 供应商合同号
        /// </summary>
        public string? SupplierContractNo { get; set; }
        /// <summary>
        /// 物料编码
        /// </summary>
        public string MaterialCode { get; set; }
        /// <summary>
        /// 物料名称
        /// </summary>
        public string MaterialName { get; set; }
        /// <summary>
        /// 主计量
        /// </summary>
        public string MainUnit { get; set; }
        /// <summary>
        /// 到货数量（明细数量）
        /// </summary>
        public decimal Quantity { get; set; }
        /// <summary>
        /// 批号
        /// </summary>
        public string? BatchNo { get; set; }
        /// <summary>
        /// 入库数量
        /// </summary>
        public decimal InboundQuantity { get; set; }
        /// <summary>
        /// 到货说明
        /// </summary>
        public string? ArrivalDescription { get; set; }
    }
}
